﻿using WebPic.Sample.Comum;
using WebPic.Sample.Modelo.Servicos.Interfaces;

namespace WebPic.Sample.Modelo.Servicos
{
    public class ServicePessoaEndereco : IServicePessoaEndereco
    {
        private readonly IValidationDictionary _modelState;
        private readonly IUnitOfWork _unitOfWork;

        public ServicePessoaEndereco(IValidationDictionary modelState, IUnitOfWork unitOfWork)
        {
            _modelState = modelState;
            _unitOfWork = unitOfWork;
        }

        public bool Add(PessoaEndereco pessoaEndereco)
        {
            _unitOfWork.PessoaEndereco.Add(pessoaEndereco);
            return true;
        }

        public bool Update(PessoaEndereco pessoaEndereco)
        {
            _unitOfWork.PessoaEndereco.Update(pessoaEndereco);
            return true;
        }

        public bool Remove(PessoaEndereco pessoaEndereco)
        {
            if (_modelState.IsValid)
            {
                _unitOfWork.PessoaEndereco.Remove(pessoaEndereco);
            }

            return _modelState.IsValid;
        }
    }
}